package com.huaxin.hxmodulestatisticalanalysis.models;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 变电箱/开关柜表
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("switch_cabinet")
@Schema(description = "变电箱/开关柜")
public class SwitchCabinet extends BaseModel {

    @TableField(value = "cabinet_name")
    @Schema(description = "变电箱名称", example = "低压出线柜G1")
    private String cabinetName;

    @TableField(value = "cabinet_code")
    @Schema(description = "编号", example = "CB-01")
    private String cabinetCode;

    @TableField(value = "type")
    @Schema(description = "类型：进线柜、出线柜、电容补偿柜等", example = "出线柜")
    private String type;

    @TableField(value = "rated_current")
    @Schema(description = "额定电流（A）", example = "630")
    private Integer ratedCurrent;

    @TableField(value = "busbar_material")
    @Schema(description = "母线材质", example = "铜")
    private String busbarMaterial;

    @TableField(value = "protection_level")
    @Schema(description = "防护等级（IPXX）", example = "IP42")
    private String protectionLevel;

    @TableField(value = "location")
    @Schema(description = "安装位置", example = "配电室南墙")
    private String location;

    @TableField(value = "room_id")
    @Schema(description = "所属配电房ID", example = "r123e456-789a-bcde-f012-3456789abcde")
    private String roomId;

    @TableField(value = "family_id")
    @Schema(description = "家庭ID", example = "family-01")
    private String familyId;
}